<?
class Application_Form_Incidencias extends Sgit_Form
{

    public function init_form()
    {
         
        $request = Zend_Controller_Front::getInstance()->getRequest();
        $auth    = Zend_Auth::getInstance()->getIdentity();
        $id=$request->getParam('id');
        $idZona=$request->getParam('idZona');

        $file[1] = Sgit_Util_FileUpload::run('incidencias','file');

        if(!file_exists($file[1]['dir'])) mkdir($file[1]['dir']);
  
     
        $fecha_incidencia = new Zend_Form_Element_Text('fecha_incidencia');
        $fecha_incidencia->setLabel('Fecha Incidencia')->setRequired(true);
        
        $IncidenciaDetectada = new Sgit_Form_Element_Select_Xml('IncidenciasDetectada');
        $IncidenciaOrigen = new Sgit_Form_Element_Select_Xml('IncidenciasOrigen');
        $Incidencias = new Sgit_Form_Element_Select_Xml('Incidencias');
        $IncidenciaNivel = new Sgit_Form_Element_Select_Xml('IncidenciasNivel');
        $IncidenciasImpacto = new Sgit_Form_Element_Select_Xml('IncidenciasImpacto');
        $IncidenciasImpactoCliente = new Sgit_Form_Element_Select_Xml('IncidenciasImpactoCliente');
        $IncidenciasResolucion = new Sgit_Form_Element_Select_Xml('IncidenciasResolucion');
        
        $fecha_resolucion = new Zend_Form_Element_Text('fecha_resolucion');
        $fecha_resolucion->setLabel('Fecha Resolución')->setRequired(true);
        
        
	    $notas=new Zend_Form_Element_Textarea('notas');
        $notas->setLabel('Descripción Incidencia')
                ->setAttribs(array('rows'=>8,'cols'=>40))
                ->addFilter('StringTrim');
        
   
        $model=new Application_Model_Proyectos();
        $opciones=$model->getAssoc('id','nombre',array('id_zona = ?'=>$idZona,'activo'=>1),'nombre');


        $proyectossla = new Zend_Form_Element_MultiCheckbox('proyectos');
        $proyectossla->setMultiOptions($opciones)
            ->setLabel('Proyectos con SLA')
            ->setAttrib('size',20);


        $proyectos = new Zend_Form_Element_MultiCheckbox('proyectos_sin_sla');
        $proyectos->setMultiOptions($opciones)
            ->setLabel('Proyectos sin SLA')
            ->setAttrib('size',20);


        $this->addElement($fecha_incidencia);  
        $this->addElement($IncidenciaDetectada->setRequired(true));  
        $this->addElement($IncidenciaOrigen->setRequired(true));  
        $this->addElement($Incidencias->setRequired(true));  
        $this->addElement($IncidenciaNivel->setRequired(true));  
        $this->addElement($IncidenciasImpacto->setRequired(true));  
        $this->addElement($IncidenciasImpactoCliente->setRequired(true));  
        $this->addElement($IncidenciasResolucion->setRequired(true));  
        $this->addElement($fecha_resolucion);  
        $this->addElement($proyectossla);
        $this->addElement($proyectos);
         
        $this->addElement($notas);
         
         
        $files[0]=new Zend_Form_Element_File($file[1]['name']);
        $files[0]->setLabel('Documento Adjunto')
                ->setDestination($file[1]['dir'])
                ->addValidator('Size', false, 31457280)
                ->addValidator('Count', false, array('min' => 0, 'max' => 2))
                ->setMultiFile(2)
                ->setValueDisabled(true); 
        $this->addElement($files[0]);


        if($id){
             $options=Sgit_Util_GetFiles::run($file[1]['tabla'],$file[1]['key'],$id);
             
             if($options){
                 $files_lista1 = new Zend_Form_Element_MultiCheckbox($file[1]['activo']);
                 $files_lista1->setMultiOptions($options)
                    ->setLabel('Borrar Adjunto')
                    ->setAttrib('size',25); 
                 $this->addElement($files_lista1);
             }
         }
         
         
         
          $this->addDisplayGroup(
            array('detectada',
                'fecha_incidencia', 
                'origen',
                'incidencia',
                'nivel',
                'impacto',
                'impacto_cliente',
                'resolucion',
                'fecha_resolucion',
                "{$file[1]['name']}",
                "{$file[1]['activo']}",
                'notas'
                ),
            'left'
         );    
            
         $this->addDisplayGroup(
            array('proyectos', 
                'proyectos_sin_sla', 
                ),
            'right'
         ); 
         
                    

         
         
         
         $this->setElementDecorators(array(
		    'ViewHelper',
		   'Errors',
		    array(array('data' => 'HtmlTag'),	array('tag' => 'td', 'class' => 'element')   ),
		    array('Label', array('tag' => 'td')),
		    array(array('row' => 'HtmlTag'), array('tag' => 'tr')),
	     ));
       
       
         //fix file 
       $files[0]->setDecorators(
            array(
                'File',
                'Errors',
                array(array('data' => 'HtmlTag'), array('tag' => 'td','class' => 'element')),
                array('Label', array('tag' => 'td')),
                array(array('row' => 'HtmlTag'), array('tag' => 'tr'))
            )
        );

       $this->setDisplayGroupDecorators(array(
            'FormElements',
            array("HtmlTag", array("tag" => "table")),
            array(
                array('data' => 'HtmlTag'),
                array('tag' => 'td', 'class' => 'group', 'width'=>'50%')
            ),
        ));
   

        
    }
}
